Recommending API Function Calls and Code Snippets to Support Software Development

نویسندگان

چکیده

To perform their daily tasks, developers intensively make use of existing resources by consulting open-source software (OSS) repositories. Such platforms contain rich data sources, e.g., code snippets, documentation, and user discussions, that can be useful for supporting development activities. Over the last decades, several techniques tools have been promoted to provide with innovative features, aiming bring in improvements terms effort, cost savings, productivity. In context EU H2020 CROSSMINER project, a set recommendation systems has conceived assist programmers different phases process. The various artifacts, such as third-party libraries, documentation about how APIs being adopted, or relevant API function calls. develop recommendations, technical choices made overcome issues related aspects including lack baselines, limited availability, decisions performance measures, evaluation approaches. This paper is an experience report present knowledge pertinent developed through project. We explain detail challenges we had deal with, together lessons learned when developing evaluating these systems. Our aim research community concrete takeaway messages are expected those who want customize own reported experiences facilitate interesting discussions work, which end contribute advancement applied solve Software Engineering.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

ROSF: Leveraging Information Retrieval and Supervised Learning for Recommending Code Snippets

when implementing unfamiliar programming tasks, developers commonly search code examples and learn usage patterns of APIs from the code examples or reuse them by copy-pasting and modifying. For providing high-quality code examples, previous studies present several methods to recommend code snippets mainly based on information retrieval. In this paper, to provide better recommendation results, w...

متن کامل

Recommending change clusters to support software investigation: an empirical study

During software maintenance tasks, developers often spend a valuable amount of effort investigating source code. This effort can be reduced if tools are available to help developers navigate the source code effectively. We studied to what extent developers can benefit from information contained in clusters of change sets to guide their investigation of a software system. We defined change clust...

متن کامل

Recommending software experts using code similarity and social heuristics

Successful collaboration among developers is crucial to the completion of software projects in a Distributed Software System Development (DSSD) environment. We have developed an Expert Recommender System Framework (ERSF) that assists a developer (called the “Active Devel-­ oper”) to find other developers who can help them to fix code with which they are having difficulty. The ERSF first loo...

متن کامل

MAPO: Mining and Recommending API Usage Patterns

To improve software productivity, when constructing new software systems, programmers often reuse existing libraries or frameworks by invoking methods provided in their APIs. Those API methods, however, are often complex and not well documented. To get familiar with how those API methods are used, programmers often exploit a source code search tool to search for code snippets that use the API m...

متن کامل

Checkable Code Decisions to Support Software Evolution

For the evolution of software, understanding of the context, i.e. history and rationale of the existing artifacts, is crucial to avoid “ignorant surgery” [3], i.e. modifications to the software without understanding its design intent. Existing works on recording architecture decisions have mostly focused on architectural models. We extend this to code models, and introduce a catalog of code dec...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: IEEE Transactions on Software Engineering

سال: 2022

ISSN: ['0098-5589', '1939-3520', '2326-3881']

DOI: https://doi.org/10.1109/tse.2021.3059907